package qldc.pm.tienan.service;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.transaction.Isolation;
import com.liferay.portal.kernel.transaction.Propagation;
import com.liferay.portal.kernel.transaction.Transactional;
import com.liferay.portal.service.BaseLocalService;
import com.liferay.portal.service.InvokableLocalService;
import com.liferay.portal.service.PersistedModelLocalService;

/**
 * Provides the local service interface for KetQuaTrichLuc. Methods of this
 * service will not have security checks based on the propagated JAAS
 * credentials because this service can only be accessed from within the same
 * VM.
 *
 * @author Brian Wing Shun Chan
 * @see KetQuaTrichLucLocalServiceUtil
 * @see qldc.pm.tienan.service.base.KetQuaTrichLucLocalServiceBaseImpl
 * @see qldc.pm.tienan.service.impl.KetQuaTrichLucLocalServiceImpl
 * @generated
 */
@Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface KetQuaTrichLucLocalService extends BaseLocalService,
    InvokableLocalService, PersistedModelLocalService {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. Always use {@link KetQuaTrichLucLocalServiceUtil} to access the ket qua trich luc local service. Add custom service methods to {@link qldc.pm.tienan.service.impl.KetQuaTrichLucLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
     */

    /**
    * Adds the ket qua trich luc to the database. Also notifies the appropriate model listeners.
    *
    * @param ketQuaTrichLuc the ket qua trich luc
    * @return the ket qua trich luc that was added
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.KetQuaTrichLuc addKetQuaTrichLuc(
        qldc.pm.tienan.model.KetQuaTrichLuc ketQuaTrichLuc)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Creates a new ket qua trich luc with the primary key. Does not add the ket qua trich luc to the database.
    *
    * @param ketQuaTrichLucId the primary key for the new ket qua trich luc
    * @return the new ket qua trich luc
    */
    public qldc.pm.tienan.model.KetQuaTrichLuc createKetQuaTrichLuc(
        long ketQuaTrichLucId);

    /**
    * Deletes the ket qua trich luc with the primary key from the database. Also notifies the appropriate model listeners.
    *
    * @param ketQuaTrichLucId the primary key of the ket qua trich luc
    * @return the ket qua trich luc that was removed
    * @throws PortalException if a ket qua trich luc with the primary key could not be found
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.KetQuaTrichLuc deleteKetQuaTrichLuc(
        long ketQuaTrichLucId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    /**
    * Deletes the ket qua trich luc from the database. Also notifies the appropriate model listeners.
    *
    * @param ketQuaTrichLuc the ket qua trich luc
    * @return the ket qua trich luc that was removed
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.KetQuaTrichLuc deleteKetQuaTrichLuc(
        qldc.pm.tienan.model.KetQuaTrichLuc ketQuaTrichLuc)
        throws com.liferay.portal.kernel.exception.SystemException;

    public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();

    /**
    * Performs a dynamic query on the database and returns the matching rows.
    *
    * @param dynamicQuery the dynamic query
    * @return the matching rows
    * @throws SystemException if a system exception occurred
    */
    @SuppressWarnings("rawtypes")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Performs a dynamic query on the database and returns a range of the matching rows.
    *
    * <p>
    * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link qldc.pm.tienan.model.impl.KetQuaTrichLucModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
    * </p>
    *
    * @param dynamicQuery the dynamic query
    * @param start the lower bound of the range of model instances
    * @param end the upper bound of the range of model instances (not inclusive)
    * @return the range of matching rows
    * @throws SystemException if a system exception occurred
    */
    @SuppressWarnings("rawtypes")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Performs a dynamic query on the database and returns an ordered range of the matching rows.
    *
    * <p>
    * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link qldc.pm.tienan.model.impl.KetQuaTrichLucModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
    * </p>
    *
    * @param dynamicQuery the dynamic query
    * @param start the lower bound of the range of model instances
    * @param end the upper bound of the range of model instances (not inclusive)
    * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
    * @return the ordered range of matching rows
    * @throws SystemException if a system exception occurred
    */
    @SuppressWarnings("rawtypes")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the number of rows that match the dynamic query.
    *
    * @param dynamicQuery the dynamic query
    * @return the number of rows that match the dynamic query
    * @throws SystemException if a system exception occurred
    */
    public long dynamicQueryCount(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the number of rows that match the dynamic query.
    *
    * @param dynamicQuery the dynamic query
    * @param projection the projection to apply to the query
    * @return the number of rows that match the dynamic query
    * @throws SystemException if a system exception occurred
    */
    public long dynamicQueryCount(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
        com.liferay.portal.kernel.dao.orm.Projection projection)
        throws com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public qldc.pm.tienan.model.KetQuaTrichLuc fetchKetQuaTrichLuc(
        long ketQuaTrichLucId)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the ket qua trich luc with the primary key.
    *
    * @param ketQuaTrichLucId the primary key of the ket qua trich luc
    * @return the ket qua trich luc
    * @throws PortalException if a ket qua trich luc with the primary key could not be found
    * @throws SystemException if a system exception occurred
    */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public qldc.pm.tienan.model.KetQuaTrichLuc getKetQuaTrichLuc(
        long ketQuaTrichLucId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Override
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public com.liferay.portal.model.PersistedModel getPersistedModel(
        java.io.Serializable primaryKeyObj)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns a range of all the ket qua trich lucs.
    *
    * <p>
    * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link qldc.pm.tienan.model.impl.KetQuaTrichLucModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
    * </p>
    *
    * @param start the lower bound of the range of ket qua trich lucs
    * @param end the upper bound of the range of ket qua trich lucs (not inclusive)
    * @return the range of ket qua trich lucs
    * @throws SystemException if a system exception occurred
    */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<qldc.pm.tienan.model.KetQuaTrichLuc> getKetQuaTrichLucs(
        int start, int end)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the number of ket qua trich lucs.
    *
    * @return the number of ket qua trich lucs
    * @throws SystemException if a system exception occurred
    */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getKetQuaTrichLucsCount()
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Updates the ket qua trich luc in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
    *
    * @param ketQuaTrichLuc the ket qua trich luc
    * @return the ket qua trich luc that was updated
    * @throws SystemException if a system exception occurred
    */
    public qldc.pm.tienan.model.KetQuaTrichLuc updateKetQuaTrichLuc(
        qldc.pm.tienan.model.KetQuaTrichLuc ketQuaTrichLuc)
        throws com.liferay.portal.kernel.exception.SystemException;

    /**
    * Returns the Spring bean ID for this bean.
    *
    * @return the Spring bean ID for this bean
    */
    public java.lang.String getBeanIdentifier();

    /**
    * Sets the Spring bean ID for this bean.
    *
    * @param beanIdentifier the Spring bean ID for this bean
    */
    public void setBeanIdentifier(java.lang.String beanIdentifier);

    @Override
    public java.lang.Object invokeMethod(java.lang.String name,
        java.lang.String[] parameterTypes, java.lang.Object[] arguments)
        throws java.lang.Throwable;

    public qldc.pm.tienan.model.KetQuaTrichLuc addKetQuaTrichLuc(
        com.liferay.portal.model.User user, java.lang.String maKetQuaTrichLuc,
        long yeuCauTrichLucId, java.lang.String kinhGui,
        java.lang.String tinhTrangAnTich, java.lang.String thongTinAnTich,
        java.lang.String toiDanh, java.lang.String hinhPhatChinh,
        java.lang.String hinhPhatBoSung, java.lang.String trinhTrangThiHanhAn,
        java.lang.String nguoiTraCuuHoSo, java.util.Date ngayTraCuu, int ketQua)
        throws com.liferay.portal.kernel.exception.SystemException;

    public java.util.List<qldc.pm.tienan.model.KetQuaTrichLuc> findAll();

    public int countAll();

    public int countByDS_TrichLuc(long tinhId, long quanHuyenId,
        long phuongXaId, java.util.Date tuNgayTrichLuc,
        java.util.Date denNgayTrichLuc, java.lang.String coQuanYeuCauTrichLuc,
        java.lang.String nguoiThucHienTrichLuc)
        throws com.liferay.portal.kernel.exception.SystemException;

    public java.util.List<qldc.pm.tienan.dto.DoiTuongTrichLucDTO> findByDS_TrichLuc(
        long tinhId, long quanHuyenId, long phuongXaId,
        java.util.Date tuNgayTrichLuc, java.util.Date denNgayTrichLuc,
        java.lang.String coQuanYeuCauTrichLuc,
        java.lang.String nguoiThucHienTrichLuc);

    public qldc.pm.tienan.model.KetQuaTrichLuc findByKetQuaTrichLucId(
        long ketQuaTrichLucId);

    public qldc.pm.tienan.model.KetQuaTrichLuc findByYeuCauTrichLucId(
        long yeuCauTrichLucId);

    public qldc.pm.tienan.model.KetQuaTrichLuc updateKetQuaTrichLuc(
        long ketQuaTrichLucId, com.liferay.portal.model.User user,
        java.lang.String maKetQuaTrichLuc, long yeuCauTrichLucId,
        java.lang.String kinhGui, java.lang.String tinhTrangAnTich,
        java.lang.String thongTinAnTich, java.lang.String toiDanh,
        java.lang.String hinhPhatChinh, java.lang.String hinhPhatBoSung,
        java.lang.String trinhTrangThiHanhAn, java.lang.String nguoiTraCuuHoSo,
        java.util.Date ngayTraCuu, int ketQua)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    public void trichLucXong(long yeuCauTrichLucId)
        throws com.liferay.portal.kernel.exception.SystemException;
}
